package com.woniuxy.utils;

/**
 * 
* <p>Title: RegexUtils</p>  
* <p>Description: 正则表达式进行数据有效性校验工具类 </p>  
* @author 王敞   365799712@qq.com
* @date 2020年6月10日
 */
public class RegexUtils {
	/**
	 * 验证账号是否以字母，数字，英文，中文，下划线，长度2~10
	 * 
	 * @param account
	 * @return
	 */
	public static boolean accountIsRight(String account) {
		String regex = "[\u4e00-\u9fa5\\w]{2,10}";
		return account!=null&&account.matches(regex)&&!"".equals(account.trim());
	}

	/**
	 * 验证密码长度是否为非空字符并且长度6到12
	 * 
	 * @param password
	 * @return
	 */
	public static boolean passwordIsRight(String password) {
		String regex = "[\\S]{6,12}";
		return password!=null&&password.matches(regex)&&!"".equals(password.trim());
	}

	/**
	 * 判断邮箱格式是否正确
	 * 
	 * @param email
	 * @return
	 */
	public static boolean emailIsRight(String email) {
		String regex = "\\w+@\\w+(\\.\\w{2,3})*\\.\\w{2,3}";
		return email!=null&&email.matches(regex)&&!"".equals(email.trim());
	}

	/**
	 * 判断手机号格式是否正确
	 * 
	 * @param telphone
	 * @return
	 */
	public static boolean telphoneIsRight(String telphone) {
		String regex = "1[345678]\\d{9}";
		return telphone!=null&&telphone.matches(regex)&&!"".equals(telphone.trim());
	}

	/**
	 * 判断图片格式是否正确
	 *
	 * @param photo
	 * @return
	 */
	public static boolean photoIsRight(String photo) {
		String regex = ".+(.JPEG|.jpeg|.JPG|.jpg|.gif|.GIF|.png|.PNG)$";
		return photo!=null&&photo.matches(regex)&&!"".equals(photo.trim());
	}

	/**
	 * 判断名字格式是否正确，正经场馆的名字，只有汉字和英文
	 *
	 * @param name
	 * @return
	 */
	public static boolean nameIsRight(String name) {
		String regex = "^[\\u4E00-\\u9FA5A-Za-z]+$";
		return name!=null&&name.matches(regex)&&!"".equals(name.trim());
	}

	/**
	 * 判断QQ号格式是否正确
	 *
	 * @param qq
	 * @return
	 */
	public static boolean qqIsRight(String qq) {
		String regex = "^[1-9][0-9]{4,10}$";
		return qq!=null&&qq.matches(regex)&&!"".equals(qq.trim());
	}

	/**
	 * 判断银行卡格式是否正确
	 */
	public static boolean cardIsRight(String card) {
		String regex="[1-9][0-9]{15}|[1-9][0-9] {18}";
		return card==null||!card.matches(regex)||"".equals(card.trim());
	}

	/**
	 * 验证昵称是否以字母，数字，英文，中文，下划线，长度1~10
	 *
	 * @param nickname
	 * @return
	 */
	public static boolean nicknameIsRight(String nickname) {
		String regex = "[\u4e00-\u9fa5\\w]{1,10}";
		return nickname.matches(regex);
	}

	
}
